FUNCTION SEQUENTIAL_SEARCH : LINT
  VAR_INPUT
    // 指向待查找整数数组的引用
    pData : REF_TO INT;
    // 数组元素个数
    udiSize : UDINT;
    // 要查找的目标值
    iTarget : INT;
  END_VAR

  VAR
    // 循环计数器
    i : UDINT;
  END_VAR

  // 检查输入参数有效性
  IF pData = 0 OR udiSize = 0 THEN
    SEQUENTIAL_SEARCH := -1;  // 返回-1表示未找到或参数无效
    RETURN;
  END_IF;

  // 顺序查找算法
  FOR i := 0 TO udiSize - 1 DO
    // 如果找到目标值，返回索引
    IF (pData+i)^ = iTarget THEN
      SEQUENTIAL_SEARCH := UDINT_TO_LINT(i);
      RETURN;
    END_IF;
  END_FOR;

  // 遍历完整个数组都没找到，返回-1
  SEQUENTIAL_SEARCH := -1;

END_FUNCTION
